package com.dd.cloud.user.entity.doctor;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.annotation.Table;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @author Lx
 * @version 1.0
 */
@Data
@EqualsAndHashCode
@Accessors(chain = true)
@Table(comment = "患者信息学习模式表")
public class PatientMedCardStudy implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 患者就诊卡信息表 就诊卡id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @Column(isKey = true, isAutoIncrement = true)
    private Integer id;

    /**
     * 医生id
     */
    @Column(comment = "医生id")
    private Integer doctorId;

    /**
     * 就诊卡id
     */
    @Column(length = 20, comment = "就诊卡id")
    private String medId;

    /**
     * 身份证号码
     */
    @Column(length = 18, comment = "身份证号码")
    private String idCard;

    /**
     * 手机号
     */
    @Column(length = 11, comment = "手机号")
    private String mobileNumber;

    /**
     * 姓名
     */
    @Column(length = 20, comment = "姓名")
    private String name;

    /**
     * 姓名拼音
     */
    @Column(length = 60, comment = "姓名拼音")
    private String namePinyin;

    /**
     * 头像图片地址
     */
    @Column(length = 128, comment = "头像图片地址")
    private String avatar;

    /**
     * 民族
     */
    @Column(length = 20, comment = "民族")
    private String nationality;

    /**
     * 出生日期
     */
    @Column(comment = "出生日期")
    private LocalDate birthDate;

    /**
     * 年龄
     */
    @Column(comment = "年龄")
    private Integer age;

    /**
     * 性别，男、女
     */
    @Column(length = 2, comment = "性别，男、女")
    private String sex;

    /**
     * 如果是女性角色, 是否怀孕
     */
    @Column(comment = "如果是女性角色, 是否怀孕")
    private Integer pregnant;

    /**
     * 婚姻状态，未婚、已婚
     */
    @Column(length = 2, comment = "婚姻状态，未婚、已婚")
    private String maritalStatus;

    /**
     * 就诊卡状态 1正常  -1废弃
     */
    @Column(comment = "就诊卡状态 1正常  -1废弃")
    private Integer status;

    /**
     * 通信地址
     */
    @Column(length = 50, comment = "通信地址")
    private String contactAddress;

    /**
     * 省
     */
    @Column(length = 20, comment = "省")
    private String province;

    /**
     * 市
     */
    @Column(length = 20, comment = "市")
    private String city;

    /**
     * 区
     */
    @Column(length = 20, comment = "区")
    private String district;

    /**
     * 家族病史
     */
    @Column(comment = "家族病史")
    private String familyMedicalHistory;

    /**
     * 传染病史
     */
    @Column(comment = "传染病史")
    private String contagionHistory;

    /**
     * 药物过敏史
     */
    @Column(comment = "药物过敏史")
    private String drugAllergyHistory;

    /**
     * 创建时间
     */
    @Column(comment = "创建时间")
    private LocalDateTime createDate;

    /**
     * 创建人id
     */
    @Column(comment = "创建人id")
    private Integer createId;
}
